iT邦幫忙

2023 iThome 鐵人賽

DAY 10
1
Security

資安這條路:系統化培養紫隊提升企業防禦能力系列 第 10

紫隊這條路 Day10 紅隊如何用藍隊的利器學習:資安情資篇之了解駭客手法 & 利用 ATT&CK 設計紅隊演練訓練流程

  • 分享至 

  • xImage
  •  

前言

紫隊需要理解紅隊跟藍隊在做什麼事情,才能更好的評估什麼解決方法對於企業目前來說才是好的選擇。

而我們曾經說過紅隊的目標是模擬攻擊者與駭客的行為和思路,也希望可以找到企業弱點。

而藍隊使用資安情資、資安設備和資安規範來保護組織,當然
紅隊也可以使用這三大工具來提升自己的能力。

本篇文章會解析紅隊如何使用這三大利器的例子,紅隊有效評估組織的有多少弱點,也確保模擬攻擊的真實性和效果。

資安情資 (Cyber Threat Intelligence)

資安情資(Cyber Threat Intelligence,CTI)旨在收集、分析和解釋資訊,以協助企業了解並預測對其構成威脅的駭客集團的專業領域。

  • 情報收集:紅隊會持續收集和分析公開和非公開的資安情報,以瞭解最新的威脅趨勢、攻擊技術和漏洞。
    • 公開的:ATT&CK、 Twitter
    • 非公開的:跟情資公司買
  • 模擬真實攻擊者:使用資安情資來模擬特定的攻擊組織或行為,使其測試更具有真實性。
    • APT Group
  • 目標選擇:根據情報判斷哪些系統或技術是攻擊者可能的目標,從而優先測試。
    • 用了什麼手法
    • 攻擊了誰
    • 攻擊了什麼

以情資相關的資料庫,目前我最喜歡的就是 ATT&CK,額外想跟大家分享的是,MITRE 也有出防禦相關的資料庫:
https://d3fend.mitre.org/ ,這個系列也會在後續的文章提到內容。

什麼是 ATT&CK®

  1. ATT&CK 是技術資料庫:紅隊會參考 ATT&CK® 技術資料庫中的攻擊手法,了解其運作原理、應用和可能的檢測方法。
  2. ATT&CK 是真實攻擊事件:紅隊可以使用 ATT&CK® 資料庫中的攻擊手法來模擬真實的惡意行為,以測試組織的防禦能力。
  3. ATT&CK 有編號規則,可以當作橋樑角色:ATT&CK® 不僅供紅隊使用,藍隊也可以使用它來了解可能的攻擊手法和其相應的檢測和緩解方法。這使得兩方能夠在共同的語境下交流。

利用情資來了解新的駭客攻擊手法

我們該如何利用 ATT&CK 的內容了解駭客攻擊的手法,以下簡當的步驟

一、挑選目標
先挑我們需要了解的目標,針對企業當中,可以選擇你想了解的 Tactics -https://attack.mitre.org/tactics/enterprise/

比如我們想知道駭客如何進入企業(Initial Access)或是駭客最後是怎麼影響企業內部的資料(Impact)。

二、基於目標挑選手法

我們知道 ATT&CK 有許多手法可以實現想要達成的目標,因此我們要選擇對應想要研究的手法:

舉個例子 https://attack.mitre.org/tactics/TA0001/
在 Initial Access 當中我們想知道駭客是如何利用手法-Phishing 來達到進入企業的目標。

三、剖析手法的內容

選定手法之後,便可以研讀內容
https://attack.mitre.org/techniques/T1566/

在這一篇的內容主要談到攻擊者如何利用釣魚攻擊來取得受害者系統的存取權限,這裡建議大家嘗試利用 "Why、What、How"進行的分解:

為什麼 (Why):

  • 駭客想要取得受害者系統的存取權限。

做什麼 (What):

  • 進行釣魚攻擊,一種社交工程手法。
  • 魚叉式釣魚:有針對性的釣魚攻擊,針對特定的個人、公司或行業。
    • 駭客可以進行非針對性的釣魚攻擊,例如在大規模的惡意軟體垃圾郵件活動中。
  • 可能發送包含惡意附件或連結的電子郵件給受害者,通常是為了在受害者的系統上執行惡意程式碼。
  • 釣魚也可能通過第三方服務進行,例如社交媒體平台。
  • 受害者可能還會收到訊息要求他們做惡意行為
    • 要求點擊惡意URL
    • 要求下載惡意軟體

怎麼做 (How):

  1. 利用社交工程技巧,例如假裝是可以信任的來源。
  2. 使用規避的技巧(防止資安產品偵測到)
    • 刪除被濫用的受害者發送的電子郵件
    • 刪除標頭或 metadata
  3. 透過偽造或欺騙發件人的身份來達到目的
    • 用來欺騙人類收件人以及自動化的安全工具

四、分析駭客集團用過的工具與手法

推薦大家使用
https://github.com/redcanaryco/atomic-red-team/ 開源專案,這是一個輕量用來測試 ATT&CK 駭客工具的內容。

舉個例子

Initial Access

T1078.001 Default Accounts

攻擊者可以透過 Windows 預設帳號的權限,作為初始存取,而 Windows 有效的預設帳號為 Guest 來賓帳號 與 Administrator 管理員帳號。

攻擊手法如下:

因為 Administrator 的帳號過於顯眼,因此透過提升權限的方式,讓 Guest 可以登入並進行遠端桌面,使用 cmd 執行。

  1. 使用預設帳號 Administrator 管理員預設密碼,取得管理員權限
  2. 開啟 Guest 來賓帳號的狀態
    net user guest /active:yes
  3. 設定 Guest 來賓帳號的密碼
    net user guest h2draPassword!
  4. 將 Guest 來賓帳號加入到群組 Administrator
    net localgroup administrators guest /add
  5. 將 Guest 來賓帳號加入到遠端桌面使用者群組
    net localgroup "Remote Desktop Users guest" /add
  6. 允許遠端桌面連項(fDenyTSConnections 預設 1 拒絕遠端桌面連線)
    reg add "hklm\\system\\CurrentControlSet\\Control\\Terminal Server" /v fDenyTSConnections /t REG\_DWORD /d 0 /f
  7. 允許新的遠端桌面連線
    reg add "hklm\\system\\CurrentControlSet\\Control\\Terminal Server" /v "AllowTSConnections" /t REG\_DWO

T1566.001 Spearphishing Attachment

攻擊者可以寄發夾帶惡意檔案的釣魚信件,嘗試對受害者系統中進行初始存取。

啟用巨集且含有惡意 VBScript 的 Excel 中會開啟瀏覽器並下載惡意檔案,攻擊手法如下:

透過以下指令,可以驗證電腦內是否安裝 Excel:

利用 ATT&CK 設計紅隊演練訓練流程

分析三十六個 Techniques 為範例,分析攻擊手法後作為紅隊演練的訓練,可以制定一套學習 Windows 的流程與進度表:

第零步:了解 Windows 歷史與文件

  • Windows 版本與Windows 伺服器版本
  • 各版本的差異與功能不同
  • 已知弱點(如 CVE)也需要注意版本

第一步:了解基本指令的操作

分析 ATT&CK® 針對 Windows 相關的 Techniques,可以發現 APT 組織皆以 Cmd 或是 Powershell 作為攻擊媒介,因此可以針對兩種指令進行訓練。 可以針對 ATT&CK® 所使用的指令,進行學習,作為補充指令。

cmd 命令提示字元:可參考 初學者之卷 所撰寫的教學。

Powershell:可參考微軟官方文件

  • Get-Help Command-Name:取得幫助內容。
  • Get-Command 了解目前主機安裝多少 cmdlet。
  • Invoke-WebRequest :送出請求,取得網頁內容。
  • 嘗試了解 APT 組織所使用的 PowerShell 指令

第二步:了解 Windows File System

  • Logical drives:硬碟 C 槽
  • 預設資料夾(PerfLogs、Program Files and Program Files (x86)、Users)
  • 預設檔案(作業系統的程式碼)

了解這些預設資料夾的功能與預設檔案的功能。

第三步:Windows 權限檔案

權限主體分成 Users 跟 Group ,而可以設定的權限可以分成以下七個:

  • Full control:允許使用者、群組設定資料夾與其他人的所有權限(修改、讀取、寫入、執行)。
  • Modify:允許使用者和群組修改、讀取、寫入和執行檔案。
  • Read & execute:允許使用者和群組讀取和執行檔案。
  • List folders content:允許使用者和群組列出資料夾內容,含子資料夾。
  • Read:僅允許使用者和群組讀取檔案。
  • Write:允許使用者和群組寫入指定資料夾。
  • Special permissions:特殊存取權限。

檔案

資料夾

使用 icacls 檢查檔案權限和資料夾權限:

  • I:從父容器繼承的權限
  • F:完全控制
  • M:修改權限
  • OI:對象繼承
  • IO:僅繼承
  • CI:容器繼承
  • RX:讀取並執行
  • AD:追加子資料夾
  • WD:寫入資料

第四步:Windows 身分驗證

驗證身分該使用者的合法性。

  • 身分驗證帳戶:本機使用者帳戶和系統管理員帳戶。

登入概念

  • 認證:確認身分過程,認證 = 憑證 + 驗證
  • 授權:該使用者可以做什麼操作與可以存取什麼資源。
  • 憑證:身分證明:系統使用者帳號和密碼

驗證階段透過 Local Security Authority(本機安全性驗證),管理本機安全性原則,進行驗證。

  • 了解 Windows 驗證的原理與流程
  • Windows 內建帳號與群組的關係
  • net 指令的相關應用
  • Windows 密碼與雜湊(NTLM)

第五步:Windows 內建功能

一、Computer Management:電腦管理

  • 工作排程器:可以指定特定條件自動執行定義與操作。
  • 事件檢視器:查看 windows Log 相關事件(成功、失敗登入事件與系統錯誤),可以將 Log 轉發到 SIEM 中確認惡意動作。
  • 共用資料夾:在網路上共享可以被多個使用者存取的目錄或資料夾。
  • 本機使用者和群組:可以新增使用者,可以管理群組。
  • 效能:監視設備的 CPU 使用率、記憶體使用率。
  • 裝置管理器:硬體管理,網路介面卡、滑鼠、韌體。
  • 磁碟管理:可以縮小、擴展、新增分區並格式化。
  • 服務和應用程式:可以檢查系統上正在執行的服務,啟動、停止、重新啟動。

二、Local Security Policy:本機安全性原則

三、Disk Cleanup

四、Registry Editor Win + R + RegEdit

五、Registry Editor (Regedit)

第六步:Windows Server

了解 Windows Server 的伺服器可衍生出多種功能。

第七步:Windows Log

Windows 預設路徑 C:\\Windows\\System32\\winevt\\Logs

三種查看 Windows 事件的工具

  1. Event Viewer
  2. Wevtutil.exe
  3. Get-WinEvent

五種 Windows 紀錄的事件

  • 關閉 Windows IIS HTTP Logging 的手法

C:\\Windows\\System32\\inetsrv\\appcmd.exe set config “website\_name” /section:httplogging /dontLog:true

第八步:Active Directory

了解 Active Directory 與 Azure Active Directory 的差別,以及驗證方式的不同。

Active Directory

  • NTLM
  • LDAP / LDAPS
  • KERBEROS

Azure Active Directory

  • SAML(安全性聲明標記語言)
  • OAUTH 2.0
  • OpenID連接

第九步:惡意腳本撰寫

分析 APT 組織所撰寫的惡意腳本內容,並學習該程式語言以及了解惡意腳本執行方式與內容。

  • PowerShell
  • VBScript
  • JavaScript

以上為透過分析 Techniques 初步制定紅隊演練的學習流程,可以再繼續透過分析 Technique 了解更多攻擊手法,將紅隊演練的知識樹擴展。

參考資料


上一篇
紫隊這條路 Day9 藍隊的三大利器之三:資安規範 & 盤點產業面臨資安風險
下一篇
紫隊這條路 Day 11 紅隊如何用藍隊的利器學習:資安設備之偵測與攻擊技巧 & 逆向工程學習方向
系列文
資安這條路:系統化培養紫隊提升企業防禦能力30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言